package com.xyht.sca_s.student_manage_system.modules.infrastructureProject.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xyht.sca_s.student_manage_system.common.commonReturn.ResponseResult;
import com.xyht.sca_s.student_manage_system.modules.infrastructureProject.entity.SmsInfrastructureProjectApproval;
import com.xyht.sca_s.student_manage_system.modules.infrastructureProject.entity.dto.SmsInfrastructureProjectAllowDto;
import com.xyht.sca_s.student_manage_system.modules.infrastructureProject.entity.dto.SmsInfrastructureProjectCancelDto;
import com.xyht.sca_s.student_manage_system.modules.infrastructureProject.entity.dto.SmsInfrastructureProjectDto;
import com.xyht.sca_s.student_manage_system.modules.infrastructureProject.entity.dto.SmsInfrastructureProjectHistoryReq;

import javax.servlet.http.HttpServletResponse;
import java.util.concurrent.Future;

/**
 * <p>
 * 基础建设审批表 服务类
 * </p>
 *
 * @author XYHT
 * @since 2023-05-23
 */
public interface SmsInfrastructureProjectApprovalService extends IService<SmsInfrastructureProjectApproval> {

    ResponseResult addInfrastructureApproval(String userId, SmsInfrastructureProjectDto infrastructureProjectDto);
    ResponseResult getInfrastructureOriginSettingProcess();
    ResponseResult cancelInfrastructureApproval(String userId, SmsInfrastructureProjectCancelDto cancelDto);
    ResponseResult allowInfrastructureApproval(String userId, SmsInfrastructureProjectAllowDto allowDto);
    ResponseResult getInfrastructureDetail(String userId, String examineId);
    ResponseResult getInfrastructureList(String userId,Integer examine_type,Integer pageNum,Integer pageSize,String search_str);
    Future<ResponseResult> tableDownload(String apply_id, HttpServletResponse response);
    ResponseResult getAllInfrastructureList(Integer allowStatus,String applyName,String applyDepartment,Integer pageSize,Integer pageNum);
    Future<ResponseResult> exportExamineHistoryList(SmsInfrastructureProjectHistoryReq req, HttpServletResponse response);
}
